home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 03 - 1987 / 03.04 Apr 87 / basic postscript / postscript demo < prev   
Encoding:
Text File  |  1987-03-09  |  2.2 KB  |  110 lines  |  [TEXT/MSBB]

  1. REM Basic Postscript Demo
  2. REM by D. Smith for MacTutor!
  3.  CLS
  4.  WINDOW CLOSE 1
  5. MENU
  6. MENU 1,0,0,"File":FOR i=3 TO 6:MENU i,0,0,"":NEXT i
  7. MENU 3,0,1,"Demo"
  8. MENU 3,1,1,"Draw Line"
  9. MENU 3,2,1,"Quit"
  10. ON MENU GOSUB eventloop:MENU ON
  11. idle:GOTO idle
  12.  
  13. eventloop:
  14. MenuStuff=MENU(0)
  15. menuitem=MENU(1)
  16. ON menuitem GOSUB Draw, Quit
  17. RETURN
  18.  
  19. Draw:
  20. WINDOW 1,"",(100,75)-(350,150),4
  21. WINDOW OUTPUT 1
  22. GOSUB screendraw
  23. GOSUB Postscript
  24. GOSUB screendraw ' update window
  25. MENU
  26. RETURN
  27.  
  28. Quit:
  29. CLOSE
  30. WINDOW CLOSE 1
  31. MENU RESET
  32. END
  33.  
  34. screendraw:
  35. TEXTFONT(0):TEXTSIZE(12):TEXTFACE(0)
  36. LOCATE 3,10:PRINT "Here is a Basic Line"
  37. LINE (10,10) - (60,60),33,bf
  38. LINE (15,15) - (55,55),30
  39. RETURN
  40.  
  41. Postscript:
  42.  FIL1$=FILES$(0,"Enter Postscript File ..."):IF FIL1$="" THEN FIL1$="LINE.TXT"
  43.  NAM1$=FIL1$
  44.  OPEN NAM1$ FOR OUTPUT AS #1
  45. PRINT#1, "%!PS-Adobe-1.0"
  46. PRINT #1, "%%Title: Postscript Line"
  47. PRINT #1, "%%DocumentFonts: (atend)"
  48. PRINT #1, "%%Creator: Basic"
  49. PRINT #1, "%%CreationDate: 3/1/1987 5:30 PM"
  50. PRINT #1, "%%Pages: (atend)"
  51. PRINT #1, "%%BoundingBox: 0 0 612 792"
  52. PRINT #1, "%%EndComments"
  53. PRINT #1, "%%Document prolog now follows"
  54. PRINT #1, "grestoreall"
  55. PRINT #1, "initgraphics"
  56. PRINT #1, "/pageproc{} def"
  57. PRINT #1, "%%EndProlog"
  58. PRINT #1, "%%Line Example"
  59. PRINT #1, "%%Procedures now follow"
  60.  
  61. PRINT #1, "/Times-BoldItalic findfont"
  62. PRINT #1, "36 scalefont setfont"
  63.  
  64. PRINT #1, "/fillbox"
  65. PRINT #1, "{newpath"
  66. PRINT #1, "125 360 moveto"
  67. PRINT #1, "0 72 rlineto"
  68. PRINT #1, "72 0 rlineto"
  69. PRINT #1, "0 -72 rlineto"
  70. PRINT #1, "closepath"
  71. PRINT #1, "0.0 setgray"
  72. PRINT #1, "fill"
  73. PRINT #1, "}def"
  74.  
  75. PRINT #1, "/box"
  76. PRINT #1, "{newpath"
  77. PRINT #1, "120 355 moveto"
  78. PRINT #1, "0 82 rlineto"
  79. PRINT #1, "400 0 rlineto"
  80. PRINT #1, "0 -82 rlineto"
  81. PRINT #1, "closepath"
  82. PRINT #1, "0.0 setgray"
  83. PRINT #1, "stroke"
  84. PRINT #1, "}def"
  85.  
  86. PRINT #1, "/line"
  87. PRINT #1, "{newpath"
  88. PRINT #1, "130 427 moveto"
  89. PRINT #1, "192 365 lineto"
  90. PRINT #1, "1.0 setgray"
  91. PRINT #1, "stroke"
  92. PRINT #1, "}def"
  93.  
  94. PRINT #1, "%% main program"
  95. PRINT #1, ".8 setlinewidth"
  96. PRINT #1, "fillbox"
  97. PRINT #1, "line"
  98. PRINT #1, "210 380 moveto"
  99. PRINT #1, ".7 setgray"
  100. PRINT #1, "(Here is a Basic Line) show"
  101. PRINT #1, ".1 setlinewidth"
  102. PRINT #1, "box"
  103. PRINT #1, "showpage"
  104. PRINT #1, "%% End of Example"
  105. PRINT #1, "%%Trailer"
  106. PRINT #1, "%%Pages:1"
  107. CLOSE #1
  108. RETURN
  109.  
  110.